Data storage systems generally store data on one or more blades and may rely on a single storage controller to control read and write operations to the blade or blades. When the controller or related components fail, the data storage system is unable to recover to a ready or active state without significant time and effort of the system administrators, and the system may be unavailable for a long period of time. A dual-controller system may be used to enable recovery from such a failure; however, there is difficulty in transitioning storage elements from one controller to another. What is needed is a dual-controller data storage system that can manage the states of multiple storage elements, controllers, and other components, and quickly and easily transition to a second controller in the case of failure.